﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Media;
using System.Timers;

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace Spelprojekt
{
    /// <summary>
    /// Klass för alla monster som här sparas i en lista och 
    /// </summary>
    class Monsters
    {
        Timer monsterTime = new Timer();
        public int newMonsterGeneratingPos = 400;
        public List<Monster1> monsterList = new List<Monster1>();

        public Monsters()
        {
            Monster1 temp = new Monster1();
            monsterList.Add(temp);
        }
        /*! Funktion för att updatera rörelsen för alla monster, samt lägga till monster, i spelet.*/
        public void MoveAndAdd()
        {
            if (monsterList.Count() != 0)
            {
                if (monsterList.Last().MonstRectangle.X <= newMonsterGeneratingPos)
                {
                    Monster1 temp = new Monster1();
                    monsterList.Add(temp);
                }

                for (int i = 0; i < monsterList.Count(); i++)
                {
                    monsterList[i].Move();
                    if (monsterList[i].MonstRectangle.X < -142)
                    {
                        monsterList.RemoveAt(i);
                    }
                }
            }
        }
        /*! Funktion för att visualisera död vid GAME OVER för monstrena.*/
        public void DropDead() 
        {
            for (int i = 0; i < monsterList.Count(); i++)
            {
                monsterList[i].MonstRectangle.Y += monsterList[i].gameOverFalling;
                monsterList[i].gameOverFalling++;
            }

        }
    }
    
}
